/*******************************************************************************
 * Copyright (c) 2017 Bosch Software Innovations GmbH and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Eclipse Distribution License v1.0 which accompany this distribution.
 *   
 * The Eclipse Public License is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * The Eclipse Distribution License is available at
 * http://www.eclipse.org/org/documents/edl-v10.php.
 *   
 * Contributors:
 * Bosch Software Innovations GmbH - Please refer to git log
 *******************************************************************************/
package org.eclipse.vorto.codegen.jsonschema.templates;

import org.eclipse.vorto.core.api.model.datatype.PrimitiveType
import org.eclipse.vorto.plugin.generator.InvocationContext
import org.eclipse.vorto.plugin.generator.utils.ITemplate

class PrimitiveTypeTemplate implements ITemplate<PrimitiveType>{
	
	new() {
	}
	
	override getContent(PrimitiveType primitiveType, InvocationContext invocationContext) {
		'''
			«IF primitiveType == PrimitiveType.BASE64_BINARY»
				"type": "string"
				«ELSEIF primitiveType == PrimitiveType.BOOLEAN»
				"type": "boolean"
				«ELSEIF primitiveType == PrimitiveType.BYTE»
				"type": "string"
				«ELSEIF primitiveType == PrimitiveType.DATETIME»
				"type": "string"
				«ELSEIF primitiveType == PrimitiveType.DOUBLE»
				"type": "number"
				«ELSEIF primitiveType == PrimitiveType.FLOAT»
				"type": "number"
				«ELSEIF primitiveType == PrimitiveType.INT»
				"type": "integer"
				«ELSEIF primitiveType == PrimitiveType.LONG»
				"type": "number"
				«ELSEIF primitiveType == PrimitiveType.SHORT»
				"type": "integer"
				«ELSEIF primitiveType == PrimitiveType.STRING»
				"type": "string"
				«ENDIF»
		'''
	}
}
